  #include <opencv2/opencv.hpp>
  
  int main(int argc, char** argv)
  { 
        cv::Mat  gray_= cv::imread("/home/lin/Pictures/1.png");
        cv::imshow("src", gray_);

        for(int i = 0; i < gray_.rows; i++)
            {
                /*
                img_.data ,图像的首地址，为uchar*类型。
                img_.step ，一行的占用字节数（uchar*的倍数） ，640的bgr8为 1920。
                */
                cv::Vec3b* data = gray_.ptr<cv::Vec3b>(i);

                for(int j = 0; j < gray_.cols; j++)
                {
                    data[j][0] = 255 - data[j][0];
                    data[j][1] = 255 - data[j][1];
                    data[j][2] = 255 - data[j][2];
                } 
            }
        cv::imshow("1", gray_);
        cv::waitKey();
        return 0;
  }
